home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacPeople 1997 August 15
/
MACPEOPLE-1997-08-15.ISO.7z
/
MACPEOPLE-1997-08-15.ISO
/
アップル関連
/
ARA PS アップデート
/
モデム用
/
ARA 2.0 用 GV Platinum
/
ARA 2.0 óp GV Platinum
next >
Wrap
Text File
|
1995-06-12
|
8KB
|
431 lines
! Global Village Teleport Gold & Powerport Gold 6/29/93 KW
!
! 'mlts' resource info for this modem:
! byte 1 == 01 -> modem HAS builtin reliability protocols
! byte 2 == 00 -> reserved by Apple
! byte 3 == 21 -> max hex chars in varstr 7 (33 dec)
! byte 4 == 21 -> max hex chars in varstr 8
! byte 5 == 21 -> max hex chars in varstr 9
!
! 29Aug93 rhoiberg Changed all commands to capitals. Stop using the SBreak command
! it seems to be wedging the modems. Change &D0 to &D3. Clean up the Hangup command
! and make the +++ sequence work when on line. Turn off answer in hangup by
! setting S0=0 in @HANGUP.
! 02/14/94 SAP Changes to work with all GV Modems except TP BronzeII
! PP Bronze
!
! 2jun94 rhoiberg Moved the userhook 1 from when a ring happens to when it
! really gets connected. This fixes the bug where a fax is received
! and the serial port is marked as busy and can no longer be used.
! 12/02/94 SAP Made changes to support Platinum
! 01/05/94 crw Made changes to support fax/ARA discrimination
!
@ORIGINATE
@ANSWER
!
! set up the modem - label range is 1-10
!
! Mac talks to the modem at 19,200 bps.
serreset 19200, 0, 8, 1
!
! reset the serial port
HSReset 0 0 0 0 0 0
settries 0
@LABEL 1
ifANSWER 3
!
! Mac talks to the modem at 57,600 bps.
serreset 57600, 0, 8, 1
!
@LABEL 3
matchclr
matchstr 1 4 "OK¥13¥10"
! &F1 - recall factory settings
! &D3 - Reset Modem on On-to-Off DTR transitions
! W2 - Connect result code reports modem speed
! S7=60 - To allow for an international call
! S0=0 - Don't answer calls
! E0 - Turn command echo off
! ¥N0 - Enter normal mode (no reliability protocols)
write "AT&F1&D3W2S7=60S0=0E0¥¥N0¥13"
matchread 30
inctries
iftries 2 71
!
! Reset the Modem
!
DTRSet
pause 5
DTRClear
pause 5
DTRSet
flush
jump 1
!
@LABEL 4
! Modem responding & configured.
! determine if reliable link is requested.
!
! if modem mnp10 link requested (var 4 == 2) then jump label 5
ifstr 4 5 "2"
!
! if no modem v42 link requested (var 4 == 0) [same as ARA 1.0] then jump label 9
ifstr 4 9 "0"
!
! else invalid value in var 4; exit w/error
jump 76
!
@LABEL 5
! use this label for mnp 10 type stuff...
! THIS modem doesn't support mnp 10 links.
jump 9
!
@LABEL 9
! If speaker on flag is true, jump to label 13. Else turn off the speaker.
ifstr 2 13 "1"
pause 5
matchclr
matchstr 1 13 "OK¥13¥10"
write "ATM0¥13"
matchread 30
jump 71
!
! modem ready, so enable answering or originate a call - label range is 11-30
!
@LABEL 13
pause 5
ifANSWER 62
!
! if normal dialing (parm 6 == 0) jump to 19
ifstr 6 19 "0"
!
! if blind dialing (parm 6 == 1) jump to 17
ifstr 6 17 "1"
!
! if manual dialing (parm 6 == 2) jump to 15
ifstr 6 15 "2"
!
! else invalid value in var 6; exit w/error
jump 76
!
@label 15
note "Manual dialing initiated" 3
! X1 to ignore dialtone & busy for manual dialing, D to dial
write "ATX1D ¥13"
jump 32
!
@label 17
note "Dialing without tone" 3
matchclr
matchstr 1 19 "OK¥13¥10"
! X1 to ignore dialtone & busy for blind dialing
write "ATX1¥13"
matchread 30
jump 71
!
@label 19
! this is where we break up long dialstrings
!
! parm 1 is always the full dialstring from the conn doc
note "Dialing ^1" 3
! parm 3 is always "p" for pulse & "t" for tone
!
! if parm 8 == blank (complete dialstring in parm 7)
! then jump to label 27 & dial parm 7
ifstr 8 27 " "
!
! if parm 9 == blank (complete dialstring in parms 7 & 8)
! then jump to label 24 & dial parm 7 & 8
ifstr 9 24 " "
!
! else dial parm 7 & 8 & 9 (complete dialstring in parms 7, 8 & 9)
matchclr
matchstr 1 21 "OK¥13¥10"
! parm 7 holds first string fragment
write "ATD^3^7;¥13"
matchread 400
! modem not responding; bailout.
jump 71
@label 21
! parm 8 holds second string fragment
matchclr
matchstr 1 22 "OK¥13¥10"
write "ATD^3^8;¥13"
matchread 400
! modem not responding; bailout.
jump 71
@label 22
! parm 9 holds last string fragment
write "ATD^3^9¥13"
jump 32
!
@label 24
matchclr
matchstr 1 25 "OK¥13¥10"
! parm 7 holds first string fragment
write "ATD^3^7;¥13"
matchread 400
! modem not responding; bailout.
jump 71
@label 25
! parm 8 holds last string fragment
write "ATD^3^8¥13"
jump 32
!
@label 27
! parm 7 holds entire string
write "ATD^3^7¥13"
jump 32
!
! connecting - label range is 31-60
!
@LABEL 32
matchclr
matchstr 1 34 "CONNECT 1200¥13¥10"
matchstr 2 35 "CONNECT 2400¥13¥10"
matchstr 3 36 "CONNECT 4800¥13¥10"
matchstr 4 37 "CONNECT 7200¥13¥10"
matchstr 5 38 "CONNECT 9600¥13¥10"
matchstr 6 39 "CONNECT 12000¥13¥10"
matchstr 7 40 "CONNECT 14400¥13¥10"
matchstr 8 41 "CONNECT 16800¥13¥10"
matchstr 9 42 "CONNECT 19200¥13¥10"
matchstr 10 43 "CONNECT 21600¥13¥10"
matchstr 11 44 "CONNECT 24000¥13¥10"
matchstr 12 45 "CONNECT 26400¥13¥10"
matchstr 13 46 "CONNECT 28800¥13¥10"
matchstr 14 50 "RING¥13¥10"
matchstr 15 51 "FAX¥13¥10"
matchstr 16 53 "DATA¥13¥10"
matchstr 17 72 "NO DIALTONE¥13¥10"
matchstr 18 73 "NO CARRIER¥13¥10"
matchstr 19 73 "ERROR¥13¥10"
matchstr 20 74 "BUSY¥13¥10"
matchstr 21 75 "NO ANSWER¥13¥10"
matchread 700
ifANSWER 32
jump 71
!
! THIS v32b modem has been setup to do duplex cts/rts handshaking,
! and we assume that a cts/rts handshaking cable is being used,
! so we leave the serial port set to 19,200 bps.
!
! in a v32 or v22b modem, we assume the lower data rate won't require
! cts/rts handshaking.
!
@LABEL 34
note "Communicating at 1200 bps." 2
CommunicatingAt 1200
jump 58
!
@LABEL 35
note "Communicating at 2400 bps." 2
CommunicatingAt 2400
jump 58
!
@LABEL 36
note "Communicating at 4800 bps." 2
CommunicatingAt 4800
jump 58
!
@LABEL 37
note "Communicating at 7200 bps." 2
CommunicatingAt 7200
jump 58
!
@LABEL 38
note "Communicating at 9600 bps." 2
CommunicatingAt 9600
jump 58
!
@LABEL 39
note "Communicating at 12000 bps." 2
CommunicatingAt 12000
jump 58
!
@LABEL 40
note "Communicating at 14400 bps." 2
CommunicatingAt 14400
jump 58
!
@LABEL 41
note "Communicating at 16800 bps." 2
CommunicatingAt 16800
jump 58
!
@LABEL 42
note "Communicating at 19200 bps." 2
CommunicatingAt 19200
jump 58
!
@LABEL 43
note "Communicating at 21600 bps." 2
CommunicatingAt 21600
jump 58
!
@LABEL 44
note "Communicating at 24000 bps." 2
CommunicatingAt 24000
jump 58
!
@LABEL 45
note "Communicating at 26400 bps." 2
CommunicatingAt 26400
jump 58
!
@LABEL 46
note "Communicating at 28800 bps." 2
CommunicatingAt 28800
jump 58
!
!
@LABEL 50
ifORIGINATE 32
note "Answering phone..."
jump 32
!
@LABEL 51
note "Answering fax call..."
matchclr
matchstr 1 52 "CONNECT¥13¥10"
matchread 100
jump 71
!
@LABEL 52
settries 1225
sbreak
pause 80
note "A fax call was received but could not be answered."
settries 0
jump 109
!
@LABEL 53
serreset 57600, 0, 8, 1
write "ATO¥13"
jump 32
!
!
@LABEL 58
pause 50
! turn on cts handshaking.
HSReset 0 1 0 0 0 0
!
pause 30
exit 0
!
! @ANSWER
! Set the modem to answer on 1st ring - label range is 61-70
!
@LABEL 62
matchclr
matchstr 1 32 "OK¥13¥10"
matchstr 2 63 "ERROR¥13¥10"
write "AT+FAE=1S0=1¥13"
matchread 30
!
@LABEL 63
matchclr
matchstr 1 32 "OK¥13¥10"
write "ATS0=1¥13"
matchread 30
jump 71
!
! error messages - label range is 71-100
!
! Modem Not Responding
@LABEL 71
exit -6019
!
! No Dial Tone
@LABEL 72
exit -6020
!
! No Carrier or Error
@LABEL 73
exit -6021
!
! Busy
@LABEL 74
exit -6022
!
! No Answer
@LABEL 75
exit -6023
!
! varstring invalid value
@LABEL 76
exit -6027
!
! Hang up the modem - label range is 101-120
!
@HANGUP
iftries 1225 114
!
! serreset 19200, 0, 8, 1
HSReset 0 0 0 0 0 0
@LABEL 105
!
! Try to get control of the modem.
!
DTRSet
pause 5
DTRClear
flush
!
@LABEL 108
flush
DTRClear
pause 5
DTRSet
matchclr
matchstr 1 111 "NO CARRIER¥13¥10"
matchstr 2 111 "OK¥13¥10"
matchstr 3 111 "ERROR¥13¥10"
write "ATH¥13"
matchread 30
inctries
iftries 3 71
DTRSet
pause 5
DTRClear
pause 5
DTRSet
flush
!
@LABEL 109
matchclr
matchstr 1 115 "OK¥13¥10"
write "+++"
matchread 15
jump 108
!
! recall the factory settings.
!
@LABEL 111
pause 15
matchclr
matchstr 1 114 "OK¥13¥10"
matchstr 2 112 "ERROR¥13¥10"
write "AT&F1S0=0¥13"
matchread 30
jump 71
!
@LABEL 112
matchclr
matchstr 1 114 "OK¥13¥10"
write "AT&FS0=0¥13"
matchread 30
jump 71
!
@LABEL 114
exit 0
@LABEL 115
pause 50
jump 108
!
! labels 121-128 are reserved for future emergency hacks
!